package com.woniuxy.amusementparkos.dao.wyh;


import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.woniuxy.amusementparkos.entity.lsy.WristStarp;
import com.woniuxy.amusementparkos.entity.wyh.WristStrap_Repository;
import com.woniuxy.amusementparkos.entity.wyh.WristStrap_msg;

@Mapper
public interface WristStrap_RepositoryDao {
	//查询仓库所有腕带
	List<WristStrap_Repository> getAll();
	//根据腕带id查询仓库腕带信息
	WristStrap_Repository getWristStrap(String wriststrap_id);
	
	//根据腕带编号修改腕带仓库的腕带状态
	void updateState(@Param("wriststrp_id") String wriststrp_id,@Param("state") Integer state);
	
	// 通过腕带类型查询数量
	Integer countWristStrapByType(Integer type_id);
	
	//根据腕带编号查询正在使用的腕带常用信息;
	WristStrap_msg getBywriststrp_id(String wriststrp_id);
	
	
	// ===================================================================
	// 以下为Muzi添加
	/**
	 * 通过分页获取数据
	 * @param start 别名 start
	 * @param limit dao.xml别名 size
	 * @return
	 */
	List<WristStrap_Repository> selectAllByPageAndLimit(@Param("start")Integer start,
			@Param("size")Integer limit);
	
	// 通过条件模糊查询腕带
	List<WristStrap_Repository> selectAllByPageAndCondition(@Param("condition")String condition, 
			@Param("start")Integer start, @Param("size")Integer limit);
	
	// 通过类型查询所有腕带
	List<WristStrap_Repository> selectAllByPageAndType(@Param("type_id")Integer type_id,
			@Param("start")Integer start, @Param("size")Integer limit);
	// 添加一条腕带进入仓库
	void insertWristStrap(WristStrap_Repository wristStrap_Repository);
	
	// 删除腕带 软删除
	void deleteWristStrapByWriststrp_id(String wriststrp_id);
	// 修改腕带
	void updateWristStrapRepository(WristStrap_Repository wristStrap_Repository);
	// 查询无条件时，数据总条数
	Long countWristStrapsByNoCondition();
	// 模糊查询，分页
	Long countWristStrapsByCondition(@Param("condition")String condition);
	// 分类查询计数
	Long countByType(Integer type_id);
	// 按条件和类型查找所有合乎的腕带
	List<WristStrap_Repository> selectAllByPageAndConditionAndType(@Param("type_id")Integer type_id, 
			@Param("condition")String condition,@Param("start") Integer  start,@Param("limit")
			Integer limit);
	// 计数满足类型的腕带
	Long countWristStrapsByConditionAndType(@Param("condition")String condition,@Param("type_id") Integer type_id);
	// Excel批量添加腕带
	Integer insertOneWristStrap(WristStarp myData);
	
}
